Method of enhancing call processing in a number portability environment

ABSTRACT

A method is provided which reduces post-dial delay in a number portability environment. In particular, a switching office which controls call routing to portable numbers (NPA-NXXs) contains a cache for which location routing number response information may be stored. The processing office concurrently checks the cache for LRN response information corresponding to the dialed number and launches a query to a number portability database. Thus, if the LRN response information in the cache is valid then the call will be routed in the timeliest manner. However, if either the cache does not have any LRN response information or the LRN response information in the cache proves not to be valid then, the switching office will have received the LRN response information from the database more quickly based on the concurrent launching of a query. Therefore, a more timely attempt at establishing a proper connection to the dialed number will occur thereby reducing post-dial delay.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a continuation of U.S. application Ser. No. 09/458,660, filed Dec. 1, 1999, now U.S. Pat. No. 6,233,331; which claims benefit of U.S. patent application Ser. No. 08/861,755, filed on May 22, 1997, now U.S. Pat. No. 6,058,313, both of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates to a method for improving call processing in a number portability environment. Specifically, the present invention relates to a method for reducing post-dial delay while routing calls in a number portability context.

The U.S. telecommunications network is in a state of transition. In the not too distant future it is expected that the monopoly held by local exchange carriers will be substantially altered and that Competitive Access Providers (CAPs) will begin to provide competitive provide local exchange service. To accomplish this without creating an excessive burden on customers who wish to receive service from a CAP, the customers will be able to change to a CAP without requiring the change of a telephone number. This type of flexibility is referred to as service provider number portability. It enables the subscriber to change his or her service provider while maintaining the same directory number. The public policy goal is to ensure that there is no performance degradation between carriers.

It is also expected that subscribers will be able to move between geographic locations within some reasonably defined region, for example, within the same LATA, while retaining the same telephone number. This is referred to as geographic portability. In this case the subscriber may or may not change service providers.

An additional type of portability relates to a customer's desire to change the type of service in use. For instance, a customer may change from Plain Old Telephone Service (POTS) to IDSN service and wish to maintain the same directory number. This is referred to as service portability.

AT&T has already proposed a system for providing both service provider and geographic number portability. This system uses a mechanism referred to as the Location Routing Number (LRN) mechanism. In the Location Routing Number mechanism during call processing a local switch analyzes the dialed number to determine both whether that number is from a portable NPA-NXX, that is, whether at least one NPA-NXX-XXXX has ported to another local switch, and whether the call is interswitch, that is whether or not a different local switch serves the destination number. If the number's NPA-NXX is determined to be portable and if the call is interswitch then the network switch launches a query to a number portability (NP) database. If the number has been ported the database then returns a location routing number (LRN) of the recipient switch to which the dialed number has been ported. The querying switch receives the LRN and uses it to route the call to its correct destination.

If the number has not been ported then the NP database returns the dialed number (DN) and the switch appropriately routes the call.

Examples of the call flow in the LRN mechanism are illustrated in prior art FIGS. 1 and 2.

FIG. 1 illustrates call processing in an LRN mechanism when a call from a calling party A to a called party B is a local interswitch call. In the example, in step 1 party A (having number 212-949-3001) dials 212-984-3001, the number assigned to party B. The end office (EO) 10 of local service provider (LSP) 1 receives the dialed number and determines that the number's NPA-NXX is portable. EO 10 then launches a query via Signaling Transfer Point (STP) 20 to a number portability (NP) database 30. The query includes the dialed number received by EO 10. The NP database 30 then returns the location routing number to the EO 10. The first six digits of the LRN are indicative of a particular LSP EO. The LRN is populated in the Called Party Number ISUP (ISDN user port) parameter of the Initial Address Message (IAM) of the Signaling System 7 (SS7) protocol. The dialed number is placed in the generic address parameter (GAP). Furthermore, an indicator is set to represent the fact that the routing information is based on a query to the database. When the EO 10 receives this information it then routes the call to the tandem switch 40 based on the first six digits of the LRN. The tandem switch then routes the call to the end office of the LSP3, 50, to which called party B is presently ported rather than the end office of LSP 2, 60, to which the called party B was previously ported. Finally, in a fifth step the EO 50 presently serving the ported subscriber recognizes its own LRN and obtains the dialed number from the generic address parameter and uses that information to complete the call to station B. In summary, for interswitch calls to portable NPA-NXXs the end office switch 10 launches a query to a database to obtain routing information for the end office which is servicing the ported customer.

FIG. 2 illustrates a similar situation in the context of an interLATA call where the call must be serviced by an Inter-Exchange Carrier (IXC). Like elements in FIGS. 1 and 2 bear identical reference numerals. In this instance the EO 10 determines that the call is an interLATA call and therefore sends the dialed number information to the IXC originating switch 15. The IXC recognizes the dialed number as pertaining to a portable NPA-NXX and generates a query using the dialed number (212-984-3001 in the illustrated example). The query goes to the Signaling Transfer Point (STP) 25 and is forwarded to a number portability (NP) database 35. The NP database 35 could be a national universal database. The distinctions between the database 35 of FIG. 2 and the database 30 of FIG. 1 could correspond to the differences between the national and local databases described in co-pending application Ser. No. ______, the entire disclosure of which is incorporated by reference hereto. As in the case of the query response in FIG. 1, if the number has been ported, the NP database 35 provides the LRN information associated with the dialed number. The originating IXC switch formats an ISUP IAM and places the LRN information (here 212-484-9999) in the called party number parameter. The dialed number is stored in the generic address parameter and the M-bit of the Forward Call indicator (FCI) is set to indicate that the NP database 35 was queried. The originating IXC 15 then routes the call to terminating IXC switch 45 based on the first six digits of the LRN. The terminating IXC switch determines a routing path to the EO 55 of LSP 3, 50, based on the first six digits of the LRN. The end office 55 recognizes its own LRN and then obtains the dialed number from the GAP and completes the call to station B.

In the two examples described, a query is launched to the database, either local database 30 or national database 35 each time an interswitch call to a portable NPA-NXX is detected. As a result, the system generates a large number of queries. In fact, for a frequently dialed number a query related to that dialed number may have been processed only a few minutes or even perhaps just a few seconds, earlier. These queries come at a cost. First, there is the load on the system in query traffic. Then there is the processing to be done at the NP database to respond to all queries. Finally, there is a built-in delay for processing all interswitch calls to portable NPA-NXXs since a query must be launched and processed before the call is routed. In a co-pending application by the same inventors filed on the same date as the present application it is proposed to employ a cache at the switching office that launches the database query. The cache is checked before a query is launched so that if LRN response information is in the cache there is no query unless upon attempting a connection using the LRN response information in the cache the attempt fails because the cached information is incorrect. That deployment of a cache reduces queries. However, the inventors have also noted that post-dial delay, a phenomenon of concern to service providers, can be exacerbated by delaying the launch of database queries until an attempt to connect using cached LRN response information fails. The communication industry has recognized that the delay experienced by a calling party after completing the dialing of a number can have a significant impact on the perception of the service provided. Too long a delay may present a very clear indication that the called party is now ported to a different service provider and may suggest that there is a degradation of service as a result of the porting. There is no agreement within the industry regarding acceptable values for post-dial delay. It would therefore be beneficial to reduce post-dial delay wherever possible to avoid the appearance of service degradation to the calling party.

SUMMARY OF THE INVENTION

The present invention is directed to a method for enhancing call processing in a number portability environment. In particular, the invention reduces post-dial delay enabling faster attempts at routing calls to portable numbers.

In accordance with the present invention a cache memory is associated with the local exchange or inter-exchange carrier switch responsible for processing the call to the portable NPA-NXX. The cache memory stores, for a limited period of time, LRN response information received from the number portability database in response to queries launched regarding dialed numbers associated with portable NPA-NXXs. At the same time the switch checks the cache upon receipt of a dialed number associated with a portable NPA-NXX to determine if the cache contains LRN response information for that number, it launches a query to a number portability database. If the cache contains such response information, then the local exchange or IXC attempts to route the call based on the cached LRN response information. If the cache does not contain information relating to the dialed number, or if the attempt to route the call based on LRN response information in the cache is unsuccessful, then LRN response information received from the earlier query is used for routing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 2 illustrate call flows for known number portability systems.

FIGS. 3 to 5 illustrate call flows in accordance with an embodiment of the present invention.

FIG. 6 illustrates the format of parameter information useable in connection with an embodiment of parameter information useable in connection with an embodiment of the present invention.

FIG. 7 illustrates call flow in a modification of an embodiment of the present invention.

DETAILED DESCRIPTION Overview

In accordance with an embodiment of the present invention, a cache is associated with the switching office which is responsible for launching queries to a number portability database. Every time the switching office receives a portable number it launches a query to the number portability database and checks the cache to determine whether location routing number response information for a received dialed number is available in the cache. This checking operation is performed concurrently with the launching of a query to the number portability database. If LRN response information is found in the cache, the switch will attempt to complete the call. This will increase the speed with which calls are processed since it is quicker to access LRN response information from a cache associated with the switch than it is to wait to receive data back from the number portability database after launching a query. If, however, the attempt to connect the call fails, the switch should have already received or is about to receive the LRN response information from the NP database. Thus, another attempt to connect the call will be made with a substantially shorter delay than if the switch waited until notice of failure to connect before launching the query. The result is a reduction of post dial delay. This reduction enhances the calling party's perception of the call processing operation. Before describing the call flows for implementation of the present invention it is helpful to understand the terminology typically used in the field of number portability. The following glossary is useful in that regard.

Local Service Provider (LSP): A local service provider refers to the provider of local access functionality to an end customer. LSPs are synonymous with local exchange carriers (LECs), alternate local exchange carriers, competitive access providers, and other terms that may be used to refer to providers of local access.

Numbering Plan Area (NPA): The initial group of three digits of a North American numbering plan (NANP) number. The format of NPA is NXX where N is any digit from 2 to 9 and X is any digit from 0 to 9.

Number Portability: Gives the subscriber the ability to move from one end office (i.e., switch) to another and keep its original directory number (DN). There are three types of number portability as described in the background section of the application. FCC and state regulatory activities primarily deal with the implementation of service provider number portability.

Default LSP: In today's environment, the local exchange routing guide (LERG) identifies which NPA-NXXs are assigned to which LSP end offices. The LSP appearing in the LERG is the default LSP for an NPA-NXX and the default LSP for the line numbers is that NPA-NXX.

Default Routing: Refers to routing a call to the default LSP based on the first 6 digits (NPA-NXX) of a NANP number.

Ported Number: A ported number is an end customer's number which is no longer served by the default local service provider as defined in the local exchange routing guide.

Location Routing Number: A location routing number is an identifier of an LSP end office. The LRN of an LSP end office is defined as a 10 digit number of the format NPA-NXX-XXXX such that the first 6 digits is an NPA-NXX assigned (in the local exchange routing guide) to the LSP end office. Also, a 6 digit translation on the NPA-NXX of the LRN will result in routing calls to the LSP end office.

Number Portability (NP) Database: An NP database is a database which stores number portability data, such as the LRNs for ported numbers. Switches will query a number portability database with a dialed number to obtain number portability information for the dialed number.

Destination Number: For routing a call the number used to query the number portability database will be referred to as the destination number. The destination number can be the number received from the incoming called party number (CdPN) parameter (e.g., dialed number) or the number derived after service processing (e.g., the translated number after 800 service processing has been applied).

Calling Party Number (CPN) Parameter: An existing SS7 ISUP (ISDN user part) initial address message (IAM) parameter which currently carries the calling party number.

Called Party Number (CdPN) Parameter: An existing SS7 ISUP initial address message parameter which currently carries the destination number. Switches use the number populated in this parameter to determine how to route the call.

Generic Address Parameter (GAP): The GAP is an existing optional SS7 ISUP initial address message parameter. Multiple GAPs can be defined for a call. Within the LRN approach, the dialed number is populated in the GAP when the LRN is populated in the Called Party Number parameter instead of the called party number.

Bits M and N of a forward call indicator: Bits M and N have been defined as associated with number portability in the current invention.

Portable NPA-NXX: An NPA-NXX is defined as portable if it has one or more ported numbers. That is, destination numbers with a portable NPA-NXX are no longer associated with a unique LSP.

Number Portability (NP) Capable/Non NP Capable Switch: An NP capable switch is a switch which has the capability to support the LRN solution for number portability. A non-NP capable switch is a switch which does not have the capability to support the LRN solution for number portability. A non-NP capable switch can have numbers ported to and from it and have an LRN assigned to it. However, it does not have the capability to query a number portability database nor to recognize its own LRN and retrieve a ported destination number from the generic address parameter.

Description of the Proposed Call Flows

For purposes of the following discussion the assumption will be that at some time prior to the call being processed a called party B was served by end office 160 of local service provider 2 and has been ported by the end office 150 of local service provider 3. The shift between service providers could constitute either geographic restricted portability of the calling party B, or service provider portability, that is a change to a different local service provider, or both. In either portability circumstance the ported party B is served by a different end office and hence a different “service provider”.

FIG. 3 illustrates the circumstance where the calling party A, being serviced by its local service provider can call the (ported) called party B with LRN response information being available to the end office of the LSP 1. More specifically, calling party A dials the ported number, here 212-984-3001. The end office 110 receives the number and detects that 212-984 is a portable NPA-NXX and that the call is interswitch, i.e., end office 110 does not “serve” called party B. The end office then does two things. It launches a query to number portability database 140 via Signaling Transfer Point (STP) 130. The end office also checks cache 100 to determine whether it contains location routing number response information corresponding to the dialed number. In this call processing sequence, the cache does include the LRN response information including the LRN of 212-484-9999. Thus, the end office 110 places the LRN in the called party IAM parameter and places the dialed number in the generic address parameter. A query bit indicator, bit N of the FCI is also set in the IAM message to indicate that the LRN response information has not come from the number portability database. The end office then routes the call via tandem switch 120 to the end office 150 of LSP 3 identified by the LRN from the cache. The LSP 3 end office then recognizes its own LRN in the CdPN parameter, obtains the dialed number from the generic address parameter, and completes the call to station B. In this configuration then, in comparison to the known LRN mechanism described above, a cache memory is provided in association with the end office 100 and is checked to determine if call routing can be done before receiving the LRN response information from the NP database.

The call flow illustrated in FIG. 4 relates to that circumstance where the cache memory does not contain LRN response information for the dialed number. Here again the calling party dials 212-984-3001. End office 110 detects that the NPA-NXX is portable, launches a query to NP database 140, and checks cache 100 to determine if the cache contains any LRN response information relating to the dialed number. In this instance the end office does not detect any valid information in the cache relating to the dialed number. The term “valid information” is used to indicate that information within the cache may be deemed to be unreliable after some specified period of time. Therefore, even if response information exists in the cache for a particular called number, those entries may have been in the cache for such a period of time that statistically they are no longer reliable and are therefore treated as invalid pieces of information. More information regarding the consideration given to LRN information within the cache will be provided below. Continuing with the call flow of FIG. 4, since the cache does not contain any information regarding the dialed number, end office 110 awaits a response to the launched query. The NP database returns LRN response information 212-484-9999. As with the call flow of FIG. 3, the called party number parameter is populated with the LRN while the generic address parameter is populated with the dialed number. In this instance however, the query indicator is adjusted to reflect the fact that the LRN response information comes from the number portability database. The LRN response information is then used by end office 110 to route the call to the end office to which station B is ported as indicated by the LRN, that is LSP 3 end office 150. That LSP then recognizes its own LRN and obtains the dialed number information from the generic address parameter and completes the call to station B.

In addition to routing the call using the LRN information from the database, the LRN response information is also provided to the cache 100 in association with the dialed number. The cache entry is designated as a valid entry and is considered as such for some set period of time. For instance, when the results of a query to the number portability database are stored in the local cache, a timer could be set that defines the maximum time interval for which that cached information may be considered as current or valid. At the expiration of this timer the entry from the local cache should be flushed. In the event that the cache is full at the time LRN response information is provided for a query and a new entry needs to be stored, the oldest cache entry (that is, the entry whose local cache timer is closest to expiration) must be flushed. It would be beneficial if the timer is refreshed/reset to the maximum timer value every time there is a successful hit in the local cache for this dialed number. This will tend to ensure that the information for the numbers that are dialed frequently will be readily available in the local cache thereby reducing post dial delay for calls to such numbers.

The situation may arise where the LRN response information in the cache may be still considered timely within the criteria described above but in fact, inaccurately reflects the end office which serves the called party B. FIG. 5 of the present application provides a call flow diagram for number portability processing in that instance. In this instance it will be assumed that the cache 100 stores LRN response information indicating that a called party B is ported to LSP 2 of end office 170 and that LRN response information is still considered timely in the cache. Nonetheless, calling party B has been ported to end office 150 for LSP 3. In this circumstance then the end office 110, upon detecting the NPA-NXX to be portable and the call to be interswitch, examines the cache and determines that LRN response information is present in the cache. In this instance the LRN response information is the LRN for end office 170, 212-984-9999. This information is placed in the called party number field and the dialed number is placed in the generic address number parameter field. The end office 110 then attempts to route the call to the end office corresponding to or identified by the called party number, in this instance end office 170 corresponding to LSP 2. The called party B is no longer served by end office 170. The call to that end office is cleared and a code is sent back to indicate that the end office 170 is not ported to the dialed number. Since the end office 110 launched a query to the number portability database at the same time it checked the cache, it will have either received or is about to receive the LRN response information from the NP database at the time the code is received. The more authoritative LRN response information from the NP database, in this example 212-490-9999, is then populated in the called party number parameter and the generic address parameter continues to reflect the dialed number, 212-984-3001. In this instance the number portability query indicator is changed to reflect that the number portability database has been queried and that the LRN response information comes from a more authoritative source than the local cache.

FIG. 6 illustrates the format of the FCI parameter of the IAM. Of particular significance in this format are bits M and N. Bit M is used by the conventional LRN approach to indicate whether an NP database query has been performed. Of more significance to the current invention is the status of bit N which indicates the relative authority to be ascribed to the CdPN namely that the information in the IAM has been obtained from the local cache rather than from the number portability database.

The call flows described in connection with FIGS. 3 to 5 all relate to providing a cache in the end office of the local service provider 1 associated with the calling party A and launching a query to the database concurrently with checking the cache. Thus, there are improvements over the system illustrated in FIG. 1. It is also presumed that one of ordinary skill in the art would be able to recognize employing the cache memory at the switching office of the inter-exchange carrier which is determined to be responsible for call processing as in the example of FIG. 2. Here the cache would then be associated with the IXC originating switch, for example, 15 in FIG. 2. The decision making tree however, would be very similar to the present invention and would provide that for every interswitch call to a portable NPA-NXX, a query is launched to a NP database while the switch checks a local cache for any location routing number response information. Then if either the cache does not contain LRN response information or, in a worst case scenario, if an IAM clearing message indicates that the LRN response information retrieved from the cache is incorrect the number portability database response information is available from the parallel.

One skilled in the art would recognize that the present invention would still be effective even if the switch did not launch a query for each and every portable NPA-NXX. It is possible that a class of portable NPA-NXXs may not experience unacceptable post dial delay even if a query is only launched after checking the cache or receiving a notice of failure to connect. In that instance the switch might concurrently check the cache and launch queries only for those portable numbers not in that class.

FIG. 7 illustrates a modification of the present invention illustrated in FIGS. 3 to 5 wherein the calling party is associated with a local service provider 1 which hands off the call to a homogeneous sub-network of LRN capable switches via MF signaling. In that instance, it is the LSP2 end office which would contain the cache. Then that end office would launch a query to the number portability database and would check that cache for LRN response information. Subsequent call processing would be the same as described above.

The present invention can be implemented on a switch such as a 4ESS or 5ESS from Lucent Technologies with modifications to call processing software that reflect the call flows described herein.

The present invention provides a unique call processing scheme which reduces the post dial delay that might otherwise arise in processing calls to portable numbers. Thus calls to portable numbers, regardless of whether the change in service provider relates to limited geographic portability or simply selecting a different access provider, can be processed more quickly. 

What is claimed is:
 1. A method for reducing post dial delay in a network that providing a number portability environment, the method comprising the steps of: receiving a dialed number; recognizing said dialed number as a portable number; checking a cache to determine if a location routing number for said portable number has been cached; querying a database that correlates portable numbers to respective location routing numbers to determine a location routing number for said portable number; if said step of checking determines a location routing number to be cached for said portable number then attempting to route the call to said portable number using location routing number response information from said cache; receiving location routing number response information corresponding to said portable number from said database in response to the step of querying; and if said step of checking determines no valid location routing number to be cached for said portable number, then attempting to route the call to said portable number using said location routing number response information received from said database.
 2. The method of claim 1 further comprising the step of updating said cache using the location routing number response information received from said database.
 3. The method of claim 1 wherein said step of querying said database occurs while said step of checking said cache is performed.
 4. The method of claim 1 wherein said step of querying said database occurs before said step of attempting to route the call to said portable number using said location routing number.
 5. The method of claim 1 comprising the further step of receiving a notification of failure to complete the call to said portable number after attempting to route the call using said location routing number from said cache.
 6. The method of claim 5 comprising the further step of attempting to route the call to said portable number using said location routing number response information from said database prior to receiving said notification if the location routing number response information from said database differs from the location routing number response information from said cache.
 7. The method of claim 6 further comprising the step of updating said cache using the location routing number response information received from said database.
 8. In a communication system in which a telephone number is portable between at least two service providers, a method for reducing post-dial delay for an originating party calling the portable number, the method comprising the steps of: receiving a dialed number at a local office associated with the originating party; checking a cache associated with said local office for a location routing number associated with said dialed number; concurrent with said step of checking, launching a query to a database for obtaining a location routing number for said dialed number; receiving said location routing number from said database in response to said query; and if said step of checking determines a location routing number to be cached for said portable number, then, prior to receiving a response from said database, attempting to route the call to said portable number using said location routing number from said cache.
 9. The method of claim 8 comprising the further step of updating said cache using said location routing number received from said database.
 10. The method of claim 8 wherein a location routing number from said cache corresponds to a first service provider and a location routing number from said database corresponds to a second service provider.
 11. The method of claim 10 wherein the first and second service providers correspond to first and second local switching offices respectively.
 12. The method of claim 10 wherein the first and second service providers correspond to first and second carriers respectively.
 13. In a communication system in which a telephone number is portable between at least two service providers, a method for reducing post-dial delay for an originating party calling the portable number, the method comprising the steps of: receiving a dialed number; checking a cache for a location routing number associated with said dialed number; concurrent with said step of checking, launching a query to a database for obtaining a location routing number for said dialed number; receiving said location routing number from said database in response to said query; and if said step of checking determines a location routing number to be cached for said portable number, then, prior to receiving a response from said database, attempting to route the call to said portable number using said location routing number from said cache. 